Spy-resistant keyboard

ABSTRACT

A method, system and article of manufacture for providing a spy-resistant keyboard. The spy-resistant keyboard provides a user with additional protection against unauthorized observers while the user is interfacing with a system implementing the spy-resistant keyboard. The keyboard may include a number of tiles with a number of user-selectable characters randomly associated with each tile. A spy-resistant keyboard may also include a number of movable tiles with user-selectable characters. Before a user selects a user-selectable associated with one of the tiles, all the user-selectable characters in the tiles are at least blanked to avoid unauthorized viewing of a chosen tile.

FIELD OF THE INVENTION

The present invention generally relates to interfaces for receiving apassword, or any other input. More specifically, the present inventiongenerally relates to graphical interfaces for receiving a password, orthe like, via a touch screen.

BACKGROUND OF THE INVENTION

One of the most popularly used and simple methods for providing accessto computer systems, secure areas, financial transaction systems andothers is by password entry through a keyboard or keypad. A visualdisplay unit is often associated with such systems. For example, astandard method for password entry routinely used for various accesscontrol situations is the entry of alphanumeric password charactersthrough a standard keyboard or a numeric keypad. Normally, the user'skey entry is not revealed on the screen directly. Rather, an asterisk“*”, or some other character is displayed in response to each entry of apassword character.

The use of touch screens or “soft keyboards” in conjunction withcomputer system displays has increased significantly. For example, touchscreens employing the use of a conventional soft keyboard are commonlyused with tablet personal computers, personal digital assistants (PDAs),laptop computers, wireless devices, electronic whiteboards (e.g.,Smartboards) and other such devices. Furthermore, conventional softkeyboards are also being used with systems that require the use ofphysically large display devices, such as a system that employs the useof a large plasma screen or projection monitor. The use of a touchscreen employing a soft keyboard often eliminates the need to useinconvenient physical keyboards. At the very least, touch screensemploying soft keyboards may be used in an advantageous manner withlimited space devices.

A conventional soft keyboard functions like a physical keyboard, exceptthat users touch an on-screen image-map to type input information. FIG.1 illustrates a display 10 that includes a conventional soft keyboard20. The display 10 shown in FIG. 1 also includes a password entry region30 that includes a user input field 40. The display 10 may be used inconjunction with a variety of devices, such as computer systems, secureaccess systems, financial transaction systems, and others.

As is further illustrated in FIG. 1, the conventional soft keyboard 20includes various keys that may be used to enter text similar to atraditional keyboard. In the case of the display 10, a user simplytouches a desired alphanumeric character represented by one of the keys50 in order to enter information into the user input field 40. Forexample, a user may enter a series of alphanumeric characters in theuser input field 40, and then press the “enter” key in order to gainpermissible access to a system the display 10 is interfaced with.

Whether a password is entered via a conventional hardware keyboard, or aconventional soft keyboard, it is possible that an unauthorized personmay observe the sequence of key entries processed through the keyboardand make a quick guess about the content of the entered password. Whilethe frequent change of authorized passwords can prevent this possibilityto some extent, an unauthorized person can still exploit access to asystem before the password is changed. In addition, in many systems suchas automatic teller machines, a user's password or pass code is usuallyinfrequently changed.

Conventional soft keyboards, such as the conventional soft keyboard 20used in conjunction with the display 10, are even more susceptible tounauthorized viewing by one or more observers than a conventionalhardware keyboard. This is because an interface such as a conventionalsoft keyboard depicted on a display is often intrinsically observable.One or more observers watching a user enter characters via a softkeyboard can easily reconstruct text that has been entered. This is aproblem exacerbated by the general operational characteristic of a softkeyboard. In particular, as is known, when a user enters text with asoft keyboard, letters, numbers and/or symbols interfaced with provide ahighlighting effect so the user knows a selected key has been properlychosen. For example, depressing a key on a soft keyboard may cause theselected key to momentarily illuminate or highlight so that it isobvious to the user that the key has been selected. Even without thisvisual feedback, an observer could still watch the physical actions ofthe user to determine what has been typed. The unauthorized watching ofselected keys on a soft keyboard or the like is an activity known asshoulder surfing.

Naturally, a user typing on a conventional soft keyboard may takeprecautions that make it more difficult for one or more unauthorizedobservers to obtain an entered password or other such security relatedtext. For example, a user may physically obscure the display so that oneor more unauthorized observers cannot see the conventional soft keyboardas alphanumeric data is entered thereby. However, this can be difficultwhen using displays in places and locations that make blockinginconvenient, or when the display is physically larger than a user'sbody.

In the case where the display is physically larger than the user's body,it may be impossible to conceal the input of a password or other suchsecurity related text from one or more unauthorized observers.Therefore, when a conventional soft keyboard is employed on a display,and the display is so large that it makes it impossible to block othersfrom viewing a user's use of the conventional soft keyboard, any textthat is input using the soft keyboard is intrinsically at risk of beingcompromised.

Alternatively, or in combination with a blocking strategy, a user mayattempt to confuse one or more unauthorized observers by quickly addingand deleting characters that are not part of a password or security codebeing entered via a conventional soft keyboard. However, this techniqueusually increases the number of mistyped passwords and generally doesnot add much security against one or more unauthorized observers.Moreover, taking intentional actions to protect one's password is timeconsuming and therefore generally undesirable.

SUMMARY OF THE INVENTION

An exemplary method formed in accordance with the present inventionincludes displaying a plurality of user-selectable characters, andcausing at least one of the plurality of user-selectable characters todisappear when movement of a character selector is detected.

Another exemplary method formed in accordance with the present inventionincludes displaying a plurality of character tiles, each tile having anuppercase letter, a lower case letter and a number or symbol.Furthermore, the method includes identifying one of the letters, ornumbers or symbols, in each character tile with an identifier associatedwith each character tile, and causing all of the letters and numbers orsymbols of the characters tiles to disappear prior to selection of oneof the letters, numbers, or symbols.

An exemplary system formed in accordance with the present inventionincludes a display, and a processor for causing a plurality ofcharacters shown on the display to disappear when movement of acharacter selector is detected.

Still another exemplary apparatus formed in accordance with the presentinvention is an article of manufacture for use in programming aprocessor. The article of manufacture includes at least one computerreadable storage device including at least one computer program embeddedtherein that causes the processor to perform a method according to thepresent invention, including the above described exemplary methods.

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing aspects and many of the attendant advantages of thisinvention will become more readily appreciated as the same become betterunderstood by reference to the following detailed description, whentaken in conjunction with the accompanying drawings, wherein:

FIG. 1 illustrates a conventional display employing a conventional softkeyboard;

FIG. 2 is a block diagram of a system for providing an operatingenvironment for the various exemplary embodiments of the presentinvention;

FIG. 3 is a graphical representation of a spy-resistant keyboardaccording to an exemplary embodiment of the present invention;

FIG. 4 is a graphical representation of the spy-resistant keyboard ofFIG. 3, after having undergone a shifting process;

FIG. 5 illustrates the spy-resistant keyboard of FIG. 4 with blankcharacter tiles;

FIG. 6 is a flowchart illustrating a process for entering analphanumeric password using a spy-resistant keyboard in accordance withan exemplary embodiment of the present invention;

FIG. 7 is a graphical representation of a spy-resistant keyboardaccording to another exemplary embodiment of the present invention;

FIG. 8 illustrates a graphical representation of the spy-resistantkeyboard of FIG. 7 as it undergoes the shifting of blanked tiles; and

FIG. 9 is a flowchart illustrating a process for entering apassword/pass code using a spy-resistant keyboard in accordance withanother exemplary embodiment of the present invention.

DETAILED DESCRIPTION OF THE EXEMPLARY EMBODIMENTS Brief Summary

The following description will describe an exemplary system forproviding an operating environment for a spy-resistant keyboard that isresistant to unauthorized access to text input using the keyboard.Furthermore, exemplary layouts and operation of exemplary spy-resistantkeyboards are described in the following.

Exemplary System

FIG. 2 illustrates a block diagram of a system 100 suitable forproviding an exemplary operating environment for an exemplary embodimentof the present invention. While system 100 may be referred to in thisdescription as a computer system, it should be understood that thesystem 100 may be implemented in various operational devices. Forexample, the system 100, or a similar system, may be implemented in apersonal digital assistant (PDA), a handheld computer, a tabletcomputer, a wireless device, a conventional computer, a financialsystem, an information kiosk, or other such system. Therefore, it is tobe understood that the system 100 illustrated in FIG. 2 should be viewedas merely illustrative and not limiting of the exemplary embodiments ofthe present invention described herein. That is, the system 100 shouldbe considered as illustrative of an arrangement with which exemplaryembodiments described herein may be used.

Referring to FIG. 2, a processor 102 may receive inputs from anauxiliary input device 104, such as a conventional hardware keyboard,and from a graphical spy-resistant keyboard 106 (and/or a graphicalspy-resistant keyboard 700) that may be displayed on a touch enabledliquid crystal display 108, or other displaying technology, within adisplay screen 110. The system also includes a random-access memory 112,an EPROM 114 and a local area network (LAN) adapter 116. The system 100additionally includes a non-volatile storage 118, in the form of a harddisk drive or a flash memory, each of which includes a computer readablemedium, held within the system 100, which retains recorded data evenwhen electrical power is not supplied to the system 100.

The processor 102 executes instructions of an operating system 120 andan application program 122 stored in the random-access memory 112. Boththe operating system 120 and the application program 122 may be storedin the non-volatile storage 118, and/or one or more computer readablemedium (not illustrated). Alternatively, either or both the operatingsystem 120 and the application program 122 may be transmitted in theform of electrical signals over a LAN and through the LAN adapter 116,being downloaded for storage and use for retrieval from the non-volatilestorage 118.

In accordance with exemplary embodiments of the present invention, oneor more password routines 124, which are executed by the processor 102,provide for one or more types of instances in which a password isrequired for obtaining access to the system 100. Moreover, therandom-access memory 112 includes a soft keyboard (spy-resistantkeyboard) routine 126 that may be executed in the processor 102, whichcauses the display screen 110 with the liquid crystal display 108 todisplay the graphical spy-resistant keyboard 106 and/or the graphicalspy-resistant keyboard 700. When the spy-resistant keyboard 106 isdisplayed on the display screen 110, user inputs through the graphicalspy-resistant keyboard 106 or the keyboard 700 are interpreted andprocessed by the processor 102.

That is, after entry of a password through the graphical spy-resistantkeyboard 106 or the keyboard 700, the processor 102 in conjunction withthe password routines 124, accesses a password subroutine 128 containedin the non-volatile storage 118. The password subroutine 128 providesone or more actual user passwords, in encrypted form, which theprocessor 102 along with the password routines 124 may use to comparewith a password entered via the graphical spy-resistant keyboard 106 orthe keyboard 700. In the case of the keyboard 700, the passwords enteredthereby and the actual user passwords would be user selectednumeric/symbolic pass codes.

Generally, before the operating system 120 is loaded from thenon-volatile storage 118, an initialization program stored in the EPROM114, and executed within the processor 102, may require entry of apassword via the graphical spy-resistant keyboard 106, the keyboard 700or another auxiliary input device 104. Similarly, the operating system120 may require the entry of a password before processing an applicationprogram 122. As discussed above, previously entered and stored actualpasswords, in encrypted form, may be stored in the password subroutine128. These stored passwords are generally set by the user during a setup process of the operating system 120, during a set up process of anapplication program 122, and/or when creating a new user account. Thegraphical spy-resistant keyboard 106 and/or the keyboard 700, accordingto the exemplary embodiments of the present invention, allow entry ofuser passwords/pass codes in order to request and gain access to thesystem 100, which includes the use of operating system 120 and one ormore applications 122.

Spy-Resistant Keyboard—First Embodiment

FIG. 3 illustrates the spy-resistant keyboard 106 in accordance with anexemplary embodiment of the present invention. FIG. 4 illustrates thespy-resistant keyboard 106 after undergoing a shifting process(described below), and FIG. 5 illustrates the spy-resistant keyboard 106after undergoing a blanking process (also described below). Each of thereferred to FIGS. 3, 4 and 5 will be discussed in conjunction withvarious elements illustrated in conjunction with system 100.

Referring to the figures, the spy-resistant keyboard 106 includes aplurality of character tiles 200 displayed within a graphical window210. In the exemplary embodiment illustrated in FIGS. 3, 4 and 5, thereare 42 character tiles 200, where each character tile is randomlyassigned a lowercase letter, an uppercase letter, and either a number ora symbol. The randomizing function of the graphical spy-resistantkeyboard 106 is handled by the spy-resistant keyboard routine 126.

In accordance with one exemplary embodiment to the present invention,lowercase letters displayed in the character tiles 200 are positioned ina top portion 220 of each of the character tiles 200. A middle portion230 of the character tiles 200 includes the uppercase letters 230 and abottom portion 240 includes either a number or a symbol. In theexemplary embodiment shown in the figures, due to the number ofcharacter tiles 200, it is possible to repeat various lowercase anduppercase letters, and various numbers and symbols. Which characters arerepeated is determined in a random manner. Once again, thisrandomization functionality is provided by the spy-resistant keyboardroutine 126.

The spy-resistant keyboard 106 illustrated in FIGS. 3, 4 and 5 alsoincludes two Interactor tiles 250, which are illustrated in the figuresas having the label “drag me . . . .” In addition, the Interactor tiles250 each include a draggable element 260. The spy-resistant keyboard 106also includes a text field 270, a Backspace key 280, and an Enter key290. Furthermore, each of the character tiles 200 includes a shiftableunderliner 300, which may be shifted by a user of the spy-resistantkeyboard 106 via interaction with one of the Interactor tiles 250. Thisoperation will be discussed below.

Regarding the spy-resistant keyboard 106 representations illustrated inFIGS. 4 and 5, FIG. 4 illustrates a rendering of the spy-resistantkeyboard 106 with the underliner 300 shifted after a user has interactedwith one of the Interactor tiles 250. FIG. 5 illustrates blank charactertiles 310. According to an exemplary embodiment of the presentinvention, and discussed further below, the character tiles 200 areblanked once a user begins the process of dragging the draggable element260. Similar to the randomization of the character tiles 200, thespy-resistant keyboard routine 126 performs the rendering of the blankcharacter tiles 310.

Use of Spy-Resistant Keyboard—First Embodiment

FIG. 6 is a flowchart illustrating a process for entering analphanumeric password using the spy-resistant keyboard 106 in accordancewith an exemplary embodiment of the present invention. Block B600represents the start of the process illustrated in FIG. 6. As previouslydiscussed, upon initialization of the operating system 120, the system100 may require entry of a password to gain access to and operate theoperating system 120 (B610). If this is the case, the system 100, inconjunction with the operating system 120, will display thespy-resistant keyboard 106 with character tiles 200 that includerandomly generated lowercase letters, uppercase letters, and numbers andsymbols. In addition, the spy-resistant keyboard 106 will includerandomly positioned underliners 300 positioned under respectivecharacters of the character tiles 200. The underliners 300 indicate theletter, number or symbol that will be stored if a character tile 200 ischosen. The foregoing description is summarized in block B620 of FIG. 6.

Once the spy-resistant keyboard 106 is displayed on the display screen110, the system 100 waits for a user to select a character from one ofthe character tiles 200 (B630). In order to select a character from oneof the character tiles 200, the user simply views the window 210 of thespy-resistant keyboard 106 in order to determine the location of adesired character. Once the character is visually located, for example,the lowercase letter “c” shown in the spy-resistant keyboard 106 of FIG.3, the user taps one of the Interactor tiles 250 in order to change theunderliner 300 such that it underlines the lowercase “c”. (See FIG. 4.)Once a user has visually selected a character of the spy-resistantkeyboard 106 and has interacted with one of the Interactor tiles 250 tochange the position of the underliner 300 such that it is properlypositioned under the chosen character, the user may manipulate one ofthe draggable elements 260 in order to select the chosen character(B640).

In order to actually select the chosen character, the user must drag oneof the draggable elements 260 to the character tile 200 in which thechosen character resides. At the moment the user begins to drag thedraggable element 260, the system 100, by way of the spy-resistantkeyboard routine 126, links all of the character tiles 200 so that thecharacters within the character tiles 200 are hidden from view (B650;see FIG. 5). As the user drags the draggable element 260 across thewindow 210 of the spy-resistant keyboard 106, the character tiles 200remain blank. In order to register the selection of the chosen characterin the system 100, the draggable element 260 must be placed in thecharacter tile 200 that contains the chosen character (B660). As isillustrated in FIG. 5, the user has dragged the draggable element 260 tothe blank character tile 200 which contains the chosen lowercase “c”.Once the draggable element 260 is positioned over the chosen charactertile 200, the user drops the draggable element 260 and the selectedcharacter is entered into the text field 270 (B670). In one embodiment,the entered character may be hidden by another character or symbol sothat an unauthorized observer cannot see the chosen letter, number orsymbol. For example, chosen letters, numbers or symbols may berepresented in the text field 270 as an asterisk (‘*’). If the userforgets which character tile 200 includes the chosen letter, the usermay simply drop the draggable element 260 at a location where acharacter tile 200 is not located and nothing will be entered into thetext field 270. If this occurs, a new instantiation of the spy-resistantkeyboard 106 is rendered (see block B680). If the user would like todelete a character that has been entered, the user may select theBackspace key 712.

Once a character is entered into the text field 270, the user has theoption of entering additional characters using the spy-resistantkeyboard 106 (B680). In particular, the user may use the spy-resistantkeyboard 106 to enter additional characters, as discussed in relation toBlocks B620-B680. However, if the user has finished entering text in thetext field 270, then the user may select the Enter key 290 to gainpermissible access to the system 100, assuming correct entry of apassword registered in password subroutine 128 stored in the nonvolatilestorage 118 (B700).

Spy-Resistant Keyboard—Second Embodiment

FIG. 7 is a graphical representation of the spy-resistant keyboard 700according to another exemplary embodiment of the present invention. FIG.8 illustrates a graphical representation of the spy-resistant keyboard700 of FIG. 7 as it undergoes the moving of blanked tiles 800. Each ofthe referred to FIGS. 7 and 8 will be discussed in conjunction withvarious elements illustrated in relation with the system 100.

Referring to the figures, the spy-resistant keyboard 700 includes aplurality of tiles 704 displayed within a graphical window 705. In theexemplary embodiment illustrated in FIGS. 7 and 8, there are twelve (12)tiles 704, where each tile includes either a number or a symbol. In thecase of the embodiment illustrated in FIGS. 7 and 8, the tiles 704include the numbers 0-9 and the characters “*” and “#”. The movingfunction of the graphical spy-resistant keyboard 700 is handled by thespy-resistant keyboard routine 126.

The spy-resistant keyboard 700 illustrated in FIGS. 7 and 8 alsoincludes two Interactor tiles 706, which are illustrated in the figuresas having the label “drag me . . . .” In addition, the Interactor tiles706 each include a draggable element 708. The spy-resistant keyboard 700also includes a text field 710, a Backspace key 712, and an Enter key714.

Regarding the spy-resistant keyboard 700 representations illustrated inFIGS. 7 and 8, FIG. 7 illustrates a rendering of the spy-resistantkeyboard 700 before a user has interacted with the keyboard 700. FIG. 8illustrates blanked tiles 800 that are undergoing a moving process.According to an exemplary embodiment of the present invention, anddiscussed further below, the tiles 704 are blanked once a user beginsthe process of dragging one of the draggable elements 708. At the sametime, the blanked tiles 800 are shifted, as represented by arrows 802,to another tile position once the draggable element 708 is interfacedwith by the user. Even though arrows 802 indicate that the tiles 704move in straight lines to their new locations, the tiles may also moveto their new locations in less direct routes. Similar to the moving ofthe tiles 704, the spy-resistant keyboard routine 126 performs therendering of the blank tiles 800.

Use of Spy-Resistant Keyboard—Second Embodiment

FIG. 9 is a flowchart illustrating a process for entering apassword/pass code using the graphical spy-resistant keyboard 700 inaccordance with another exemplary embodiment of the present invention.Block B600 represents the start of the process illustrated in FIG. 9. Aspreviously discussed, upon initialization of the operating system 120,the system 100 may require entry of a password/pass code to gain accessto and operate the operating system 120 (B910). If this is the case, thesystem 100, in conjunction with the operating system 120, will displaythe spy-resistant keyboard 700 with tiles 704 including numbers orsymbols (B920).

Once the spy-resistant keyboard 700 is displayed on the display screen110, the system 100 waits for a user to select a number or symbol fromone of the tiles 704 (B930). In order to select a number or symbol ofone of the tiles 704, the user simply views the window 705 of thespy-resistant keyboard 700 in order to determine the location of adesired number or symbol. Once the number or symbol is visually located,for example, the number three (3), the user touches one of the draggableelements 708 and begins to drag the draggable element 708. When the userbegins dragging the draggable element 708, the system blanks the tiles704 and moves the tiles 704 (B950). As is illustrated in FIG. 8, theblanked tile ‘3’ is moved to the position the blanked tile ‘0’ waslocated. The user should visually follow the selected tile as it shiftsto a new position. Furthermore, as is illustrated in FIG. 8, the othertiles 704 are also moved.

In order to actually select the chosen number or symbol, the user mustwait for the moving tiles to arrive at their new locations and then dragthe draggable element 708 to the new location of the moved tile 704 inwhich the chosen number resides (B960). As the user drags the draggableelement 708 across the window 705 of the spy-resistant keyboard 700, thetiles 704 remain blank. In order to register the selection of the chosennumber or symbol in the system 100, the draggable element 708 must beplaced over the tile 704 that contains the chosen number or symbol. Oncethe draggable element 708 is positioned over chosen tile 704, the userthen drops the draggable element 708. The selected number or symbolunder the draggable element is entered into the text field 710 (B970).In one embodiment, the entered character may be hidden by anothercharacter or symbol so that an unauthorized observer cannot see thechosen number or symbol. For example, chosen numbers or symbols may berepresented in the text field 710 as asterisks (‘*’). If the userforgets which tile 704 includes the chosen number or symbol, the usermay simply drop the draggable element 708 at a location where a tile 704is not located and nothing will be entered into the text field 710. Ifthis occurs, a new instantiation of the spy-resistant keyboard 700 isrendered (see block B980). If the user would like to delete a characterthat has been entered, the user may select the Backspace key 712.

Once a character is entered into the text field 710, the user has theoption of entering additional numbers and/or symbols using thespy-resistant keyboard 700 (B980). In particular, the user may use thespy-resistant keyboard 700 to enter additional numbers and/or symbols,as discussed in relation to Blocks B920-B980. However, if the user hasfinished entering text in the text field 710, then the user may selectthe Enter key 714 to gain permissible access to the system 100, assumingcorrect entry of a password/pass code registered in password subroutine128 stored in the nonvolatile storage 118 (B990).

Alternatives

The spy-resistant keyboards 106 and 700 may be used to enter text otherthan passwords and/or pass codes. For example, if desired thespy-resistant keyboards 106 700 may be used as the primary input devicefor the computer system 100. Moreover, the spy-resistant keyboards 106and 700 may be used in conjunction with other input devices used withthe computer system 100. For instance, the computer system 100 may use aconventional hardware keyboard (auxiliary input device 104) for textentry, but require use of one of the spy-resistant keyboards 106 and 700when password and/or pass code input is necessary. This is also true ifthe computer system 100 uses a conventional soft keyboard.

The spy-resistant keyboards 106 and 700 may be implemented usingsoftware code, which is processed by the processor 102 of the computersystem 102. Any software programming language may be used to implementthe spy-resistant keyboards 106 and 700. Alternatively, thespy-resistant keyboards 106 and 700 may be preprogrammed as part of anintegrated circuit having internal processing capability.

The spy-resistant keyboards 106 and 700 are described and illustrated ashaving certain layouts. However, the illustrated spy-resistant keyboards106 and 700 are merely exemplary of the present invention. Inparticular, the spy-resistant keyboard 106 may have various operationallayouts depending on the system 100 for which it is intended. Forexample, an automatic teller machine may not need 42 character tiles 200to allow for sufficient password and/or pass code entry. Thus, thespy-resistant keyboard 106 may be implemented with greater than or lessthan 42 character tiles 200, and therefore varying numbers of includedlowercase and uppercase letters and/or other characters, as necessitatedby the system 100 requirements. The described alternatives related tothe spy-resistant keyboard 106 are also true for the spy-resistantkeyboard 700.

Similarly, the general aesthetics of the spy-resistant keyboards 106 and700 may be modified. For instance, more than or less than two (2)Interactor tiles (250, 706) may be used, or instead of the underliner200, the characters of the character tiles 200 may also be highlightedwhen one of the Interactor tiles 250 is interfaced to cause a shiftingaction of the spy-resistant keyboard 106.

The spy-resistant keyboard 106 may use character tiles 200 that includeonly one character in each of the character tiles 200. In this exemplaryembodiment, the underliner 200 is not necessary, and a user of thekeyboard merely views the character tiles 200, makes a mental selectionof the character tile 200 with the desired letter, symbol, or generalcharacter, and then drags the draggable element 260 to the selectedcharacter tile 200 in order to select the chosen letter, symbol, orcharacter. All of the character tiles 200 are still blanked as thedraggable element 260 is dragged to the position of the chosen letter,symbol, or character.

While the exemplary embodiments of the invention have been illustratedand described, it will be appreciated that various changes can be madetherein without departing from the spirit and scope of the presentinvention.

1. A method for providing a spy-resistant keyboard for a computingdevice, the method comprising: displaying a plurality of user-selectablecharacters on the spy-resistant keyboard, the user-selectable characterscomprising letters and a number or symbol that are displayed in each ofa plurality of character tiles of the spy-resistant keyboard in a randommanner, the letters and number or symbol being randomly selected from apredetermined number of letters, numbers, and symbols, wherein eachpredetermined letter, number and symbol is used at least once with atleast one of the plurality of character tiles; and causing at least oneof the plurality of user-selectable characters to disappear whenmovement of a character selector is detected prior to selection of oneof the user-selectable characters.
 2. The method of claim 1, wherein thecharacter selector is a draggable element.
 3. The method of claim 1,wherein displaying further comprises identifying one of theuser-selectable characters.
 4. The method of claim 3, further comprisingselecting the user-selectable tile that previously included theidentified character.
 5. The method according to claim 1, wherein theplurality of characters in each character tile being a random one of anuppercase and a lowercase letter and a random one of a number and asymbol.
 6. The method according to claim 5, further comprising providinga character selector in each character tile, the character selector forselecting one of the plurality of characters in each character tile. 7.The method according to claim 6, wherein an uppercase letter, alowercase letter, and a symbol or number are displayed in each charactertile, the letters, symbols and numbers being displayed randomly andretrieved from a predetermined set of letters, symbols and numbers. 8.The method according to claim 7, wherein each letter, symbol and numberof the predetermined set is displayed at least once in at least onecharacter tile.
 9. A method for providing a spy-resistant keyboard for acomputing device, the method comprising: displaying a plurality ofcharacter tiles in the spy-resistant keyboard, each tile having anuppercase letter, a lower case letter and a number or symbol, theletters and number or symbol are displayed in each of the plurality ofcharacter tiles in a random manner, the letters and number or symbolbeing randomly selected from a predetermined number of letters, numbers,and symbols, wherein each predetermined letter, number and symbol isused at least once with at least one of the plurality of charactertiles; identifying one of the letters, or numbers or symbols, in eachcharacter tile with an identifier associated with each character tile;and causing all of the letters and numbers or symbols of the characterstiles to disappear prior to selection of one of the letters, numbers, orsymbols.
 10. An article of manufacture for use in programming aprocessor, the article of manufacture comprising at least one computerreadable storage device including at least one computer program embeddedtherein that causes the processor to perform the method of claim
 9. 11.An article of manufacture for use in programming a processor, thearticle of manufacture comprising at least one computer readable storagedevice including at least one computer program embedded therein thatcauses the processor to perform the method of claim
 1. 12. A computingsystem, comprising: a display; and a processor for: displaying aplurality of user-selectable characters on the display, theuser-selectable characters comprising letters and a number or a symbolthat are displayed in each of a plurality of character tiles in a randommanner, the letters and number or symbol being randomly selected from apredetermined number of letters, numbers, and symbols, wherein eachpredetermined letter, number and symbol is used at least once with atleast one of the plurality of character tiles; and causing the pluralityof characters shown on the display to disappear when movement of acharacter selector is detected.
 13. The system according to claim 12,wherein the display is a touch sensitive display interactable viaphysical touch by a user thereof.